package com.zhidisoft.system.service;

import java.util.List;

import com.zhidisoft.common.Page;
import com.zhidisoft.system.entity.Role;
import com.zhidisoft.system.vo.RoleVO;

/**
 * 角色业务层接口
 * @author Lu Jianliang
 *
 */
public interface IRoleService {

	/**
	 * 添加角色
	 * @param role
	 * @return
	 */
	String add(Role role);
	
	
	/**
	 * 根据用户的id获取用户对应的角色信息
	 * @param userId
	 * @return -返回角色集合
	 */
	List<Role> findRolesByUserId(String userId);

	/**
	 * 获取到所有的角色
	 * @return
	 */
	List<Role> findAll();
	
	/**
	 * 根据角色id获取角色信息
	 * @param id
	 * @return
	 */
	RoleVO findById(String id);


	/**
	 * 分页查询角色信息
	 * @param page
	 * @param rows
	 * @return
	 */
	Page<RoleVO> findByPage(Long page, Long rows);

	/**
	 * 保存或者更新角色信息
	 * @param role
	 * @return
	 */
	boolean saveOrUpdate(Role role);

	/**
	 * 更新角色的权限，将角色所有权限清空，为角色更新新的权限
	 * @param id
	 * @param ids
	 * @return
	 */
	boolean updateFunctions(String id, String ids);
}
